Testing systems and methods have been developing for testing software modules, such as application programming interfaces (APIs). It is common to group testing parameters into equivalency classes and then test selected parameters from each equivalency class. For example, if a developer determines that a software module is likely to either function properly or improperly for all positive integer values of a parameter, the developer may create an equivalency class of positive integer values and test one positive integer value of the parameter. It will then be assumed that if the software module functions properly, the software module will also function properly for other positive integer values.
One prior art approach to testing software modules has included creating objects that test the parameters and parameter combinations selected by the developer. Among other drawbacks, this approach requires developers to create and compile new objects when the developer wishes to test new parameters, parameter values and parameter combinations. Furthermore, new objects must be created and compiled to test new logic when the software module is modified.
Therefore, there is a need in the art for systems and methods that allow developers to test software modules without requiring the developers to create and compile objects to test new parameter values and parameter value combinations.